package org.xlp.expression;

/**
 * Description: 数组迭代器
 * <br/>date: 2024/12/26 19:40
 *
 * @version 1.0
 * @author: xlp
 */
public class StringArrayIterator implements IArrayIterator<String>{
    private String[] array;

    /**
     * 当前数组索引
     */
    private int index;

    /**
     * 数组长度
     */
    private int len;

    public StringArrayIterator(String[] array){
        this.array = array;
        this.len = array.length;
    }

    /**
     * 是否还有下个元素
     *
     * @return
     */
    @Override
    public boolean hasNext() {
        return index < len;
    }

    /**
     * 下个元素
     *
     * @return
     */
    @Override
    public String next() {
        return array[index++];
    }

    /**
     * 上一个元素(相对于下一个元素)
     *
     * @return
     */
    @Override
    public String previous() {
        return array[--index];
    }

    /**
     * 是否还有上个元素(相对于下一个元素)
     *
     * @return
     */
    @Override
    public boolean hasPre() {
        return index > 0;
    }
}
